home *** CD-ROM | disk | FTP | other *** search
-
- Doug here,
-
- > Anyway, it's a weird problem. I just want to know exactly WHO is did the
- > screen management stuff (the 68030 code that is...) I can't seem to be
- > able to change the viewport size without screwing the whole machine up!
-
- If you are talking about the texturemapping h & v ratios, then don't expect
- to be able to change the viewport size and the rest is worked out automatically.
-
- The reason for this is to be able to handle different aspect ratios QUICKLY, and
- this is HARD to implement into the perspected mapping functions for reasons I've
- now just about forgotten (speed & code size being the main ones).
-
- In other words, there are scaling factors which need to be derived from the
- viewport dimensions (particularly the vertical) in order for the horizontal
- to be able to match up. These factors are not simply based on the x:y, but on
- a number of different constants describing the screen. This means we are able
- to do the following...
-
- 1) brickbat pixels
- 2) scalable rendering
- 3) different x:y ratios
-
- ...with only one variable constant in the perspective function. This means fast
- perspective calculation. If it were all automated a bit more and made 'invisible',
- then the DSP would need to use more variable functions inside the mapping code,
- which would slow things down. If you chenge the viewport size without due care and
- attention, then it's quite possible you will get jelly for a floor.
-
- It makes things difficult, but it halves the calculation time! :)
-
- However, if you mean the screen management itself (memory, rendering buffers &
- tidying up) then I was under the impression it worked flawlessly?
-
- Or are you talking about something else?
-
- Whatever it is, it's best you know about the perspective stuff just in case...
-
- BTW, don't try to use more than 240 display lines - you can't. There is not enough
- DSP memory for that many floor shards.
-
- Doug.
-
-